import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite' //++
import Components from 'unplugin-vue-components/vite'//++

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    // ++
    AutoImport({
      /* imports可以配置哪些文件需要自动导包 */
      imports: ["vue", "vue-router", "pinia"],
      /* 自定义文件,在这里文件中可以看到不需要导包的变量 */
      dts: "src/auto-imports.d.ts",
    }),
    // ++ 自动导入vue组件
    Components({
      // "./src/**/*.{vue,js}" 是一种类似于通配符的语法
      // 要搜索组件的目录。不配置，自动导入默认'src/components'里的.vue组件
      dirs: ["src/**"],
      // 扩展名
      // extensions: ["vue"],
      // Glob模式，以匹配要检测为组件的文件名。
      //指定时，将忽略“目录”和“扩展名”选项。
      // globs: ["src/components/*.{vue}"],
      dts: "src/components.d.ts",
    }),
  ],
  resolve: {
    alias: {
      "@": fileURLToPath(new URL("./src", import.meta.url)),
    },
  },
});
